package com.mall.user.service;


import com.mall.common.response.CommonResponse;
import com.mall.common.response.CommonResponse;
import com.mall.entity.TbUser;

import java.math.BigDecimal;

/**
 * 用户服务
 *
 * @author ASUS
 * @date 2021/07/18
 */
public interface UserService {

    /**
     * 发送yzm
     *
     * @param tel 电话
     * @return {@link CommonResponse}
     */
    CommonResponse sendYzm(String tel);

    /**
     * 登录
     *
     * @param user 用户
     * @return {@link CommonResponse}
     */
    CommonResponse login(TbUser user);

    /**
     * 注册
     *
     * @param tel 电话
     * @param yzm yzm
     * @return {@link CommonResponse}
     */
    CommonResponse register(String tel, String yzm);

    /**
     * 设置密码
     *
     * @param user 用户
     * @return {@link CommonResponse}
     */
    CommonResponse setPassword(TbUser user);

    /**
     * 获取个人信息
     *
     * @param tel 电话
     * @return {@link CommonResponse<TbUser>}
     */
    CommonResponse<TbUser> getPersonalDetails(String tel);

    TbUser findUserById(String userId);

    void updateAccumulativeTotalByUid(Long uid, BigDecimal rechargeAmount);
}
